Skip to content

CF-Random PyPi Package#1

Open
prameshsharma25 wants to merge 15 commits intomainfrom
py-package
Open

CF-Random PyPi Package#1
prameshsharma25 wants to merge 15 commits intomainfrom
py-package

Conversation

@prameshsharma25
Copy link
Copy Markdown
Collaborator

Background

CF-Random is a tool for predicting alternative conformations and fold-switching proteins using AlphaFold. Previously, the project was structured as a collection of Python scripts that required manual setup and path management. This PR converts CF-Random into a properly structured Python package that can be installed via pip, making it more accessible to the scientific community and easier to integrate into workflows.


Why

  • Easier installation: Users can now install CF-Random with a single pip install . command instead of manual setup
  • Better distribution: The package structure enables future PyPI publishing for pip install cf-random installation
  • Improved import capability: Scientists can now use CF-Random as a Python library in their own scripts via import cf_random
  • Standard Python practices: Follows PEP 517/518 standards for Python packaging with pyproject.toml and setup.py
  • Dependency management: Centralizes all dependencies in configuration files for reproducibility
  • CLI integration: Provides a cf-random command-line tool with proper argument parsing

What Was Changed

New Files Created:

  • pyproject.toml - Modern Python package configuration (PEP 517/518 compliant)

    • Package metadata, dependencies, and entry points
    • Build system configuration
  • setup.py - Setup script for backward compatibility

  • MANIFEST.in - Package manifest for including non-Python files

  • cf_random/ package directory with:

    • __init__.py - Package initialization and version info
    • main.py - Wrapper module for the original code
    • cli.py - Command-line interface entry point
  • INSTALL.md - Installation guide for users

  • DEVELOP.md - Development and contribution guidelines

  • .gitignore - Python and project-specific ignore patterns


Validation

CLI Testing

# Verify CLI help works
cf-random --help

# Expected output: Shows all available command-line options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant